#include <d3d9.h>
#include <d3dx9.h>
#include <stdio.h>
#include <sstream>
#include <string>

#pragma once
#pragma comment (lib, "d3d9.lib")
#pragma comment (lib, "d3dx9.lib")

using namespace std;

class Text
{
private:

	// Singleton instance
	static Text*	m_Text;

	ID3DXFont*			m_pFontTimer;		// font pointer
	ID3DXFont*			m_pFontScore;		// font pointer
	ID3DXFont*			m_pFontLevel;		// font pointer
	ID3DXFont*			m_pFontHighScore;	// font pointer
	ID3DXFont*			m_pInputFont;	// font for user input
	///ID3DXFont*			m_pFont;		// fount pointer
	char				cOutput[256];	// characters to out put
	RECT				pRect;
	RECT				pRectInput;			// rect for screen info
	RECT				pRectHighScore;		// rect for screen info
	RECT				pRectScore;			// rect for screen info
	RECT				pRectLevel;			// rect for screen info
	RECT				pRectTimer;			
public:
	Text(void);
	~Text(void);

	static Text* GetInstance(void);
	void DeleteTextInstance(void);
	void Init(IDirect3DDevice9* m_pD3DDevice, HWND hWnd);
	void Incriment(short fps);
	void SetTimer( LONG milliseconds );
	void SetLevel(int iLevel);
	void RenderInput();
	void RenderScore();
	void RenderLevel();
	void RenderHighScore();
	void RenderTime();
	void SetName1(string strHighscore);
	void SetScore1(string strHighscore);
	void SetScore2(string strHighscore);
	void SetScore3(string strHighscore);
	void SetScore4(string strHighscore);
	void SetScore5(string strHighscore);
	void SetScore6(string strHighscore);
	void SetScore7(string strHighscore);
	void SetScore8(string strHighscore);
	void SetScore9(string strHighscore);
	void SetScore10(string strHighscore);
	void SetScore11(string strHighscore);
	void SetName2(string strHighscore);
	void SetName3(string strHighscore);
	void SetName4(string strHighscore);
	void SetName5(string strHighscore);
	void SetName6(string strHighscore);
	void SetName7(string strHighscore);
	void SetName8(string strHighscore);
	void SetName9(string strHighscore);
	void SetName10(string strHighscore);
	void SetName11(string strHighscore);
	void SetHighScore( string strLName);
};
